package com.bl.test;

import com.bl.bean.UserInfoBean;
import com.bl.dao.UserInfoBeanMapper;

import com.bl.bean.UserInfoBean;
import com.bl.dao.UserInfoBeanMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.util.*;
import java.io.*;
import java.util.Scanner;

import java.io.InputStream;




public class Addproperties {
    public static void main(String[] args) {




         //添加
        //String resource = "org/mybatis/example/mybatis-config.xml";
        // 使用输入流对象加载mybatis的xml配置文件
        InputStream inputStream = test.class.getClassLoader().getResourceAsStream("config-mybatis.xml");
        // 1、构建mybatis的SqlSessionFactory类的实例对象（后期可以反转控制给Spring容器）
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        // 使用try-with方式释放sqlsession对象：sqlsession的事务不是自动提交的，需要手提交
        try (SqlSession session = sqlSessionFactory.openSession()) {
            // 从sqlsession中获取mapper接口的实现类对象（反射+动态代理）
            UserInfoBeanMapper userInfoBeanMapper = session.getMapper(UserInfoBeanMapper.class);
            // 通过调用mapper接口的映射文件中的接口方法，来操作数据库：
            // 新增一条记录
            // 创建一个新增的实体类对象：

            UserInfoBean userInfoBean = new UserInfoBean();

            System.out.println("请输入商品的名称：");
            Scanner sc = new Scanner(System.in);
            String name = sc.next();
            userInfoBean.setName(name);
            System.out.println("请输入添加商品的价格：");
            Scanner sc2 = new Scanner(System.in);
                String price = sc2.next();
            userInfoBean.setPrice(price);
                    // 调用接口的保存方法
                    int i = userInfoBeanMapper.insertSelective(userInfoBean);
                    // 输出操作结果
                    System.out.println("新增结果：("+"名称："+name+";"+"价格:"+price+")" );

                    // 手动提交sqlsession的事务，后期由spring通过aop来进行统一管理
                    session.commit();
                    }
                    }

}